Fix module blacklisting
authorMatthias Clasen <mclasen@redhat.com>
Fri, 23 Sep 2011 20:25:33 +0000 (16:25 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 23 Sep 2011 20:42:45 +0000 (16:42 -0400)
The handling of the module lists is a bit confusing here. There is
a global list that is populated with initial modules from GTK_MODULES,
and then there is a second list that is suppposed to hold the modules
loaded from the gtk-modules xsetting, which we attach to the GtkSettings
object. The blacklisting caused us to put the wrong modules into the
second list, and mess up the module refcounts, eventually double-freeing
memory when the setting changes repeatedly.

https://bugzilla.gnome.org/show_bug.cgi?id=659966

gtk/gtkmodules.c

index 3a8dac3e145b69593891e870c1d0615323588986..e237fa76ba88b5a7eeaadb6a519b93692f5adea4 100644 (file)
@@ -295,7 +295,9 @@ load_module (GSList      *module_list,
              info->ref_count++;
              
              success = TRUE;
+              break;
            }
+          info = NULL;
        }
 
       if (!success)